#ifndef RESIZE_H_
#define RESIZE_H_
#include "../include/Effect.h"
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>

using namespace std;
using namespace cv;

// Implements the Resize OpenCV effect.
class Resize : public Effect {

private:
	Size dSize;
	double scaleFactorX;
	double scaleFactorY;
	int interpolationMethod;

public:
	// Class constructor. Receives the needed values for the Resize effect.
	Resize(double x, double y, int interpol);

	// Class destructor.
	virtual ~Resize(void);

	// Returns the given picture resized according to the given parameters.
	virtual void processEffect(Mat& src, Mat& dst);

};

#endif /* RESIZE_H_ */
